草庐IT

Java AES 加盐加密

全部标签

c++ - 我可以通过重新播种结合 random_device 和 mt19937 生成加密安全随机数据吗?

我需要在c++11中生成加密安全的随机数据,我担心对所有数据使用random_device会严重限制性能(参见StephanT.Lavavej的“rand()ConsideredHarmful”幻灯片23,他说当他(在他的系统上)测试它时,random_device是1.93MB/s而mt19937是499MB/s)因为这段代码将在移动设备(Android通过JNI和iOS)上运行,这可能比上面的数字慢。此外,我知道mt19937不是加密安全的,来自wikipedia:“观察足够数量的迭代(在MT19937的情况下为624,因为这是产生future迭代的状态vector的大小)允许预测

c++ - 如何在 Mac OSX 上的 Qt 中使用 pkcs12/pfx 成功执行 SSL 加密?

Qt新手和开发跨平台应用程序,需要服务器和客户端的SSL身份验证基于.pem的加密在Linux、Android、Windows上运行。但是MacOSX存在问题。我们的代码如下所示:QFileprivateKeyFile(":/Certificate.pem");//-->hascertificate+keyprivateKeyFile.open(QIODevice::ReadOnly|QIODevice::Text);setLocalCertificateChain(QSslCertificate::fromPath(":/Certificate.pem",QSsl::Pem));se

c++ - OpenSSL:RSA 加密/解密、 key 生成和 key 持久性

我正在尝试构建一个需要以下内容的p2p应用程序,在OpenSSL中使用RSA:-Encryption-Decryption-GeneratingKeys(done)-Savingandloadingkeys(done)-SavingthePUBLICkeyasbytessoitcanbesentoverthesockets-Loadingkeysfromtheaboveformat我已选择使用EVP功能,无论这意味着什么。然而,我很难找到我需要使用哪些功能来做这些事情,以及以什么顺序。OpenSSL的官方文档似乎不存在。有谁知道我需要按什么顺序使用哪些功能以及它们的原型(prototy

c++ - 你能帮我了解一下在 C++ 中使用 rsa.h 进行 openssl 公钥加密吗?

我正在尝试使用C++中rsa的openssl实现来了解公钥加密。你能帮我吗?到目前为止,这些是我的想法(如有必要,请更正)Alice通过网络连接到BobAlice和Bob想要安全的通信Alice生成一对公钥/私钥并将公钥发送给BobBob收到公钥并用公钥加密一个随机生成的对称密码key(例如河豚)并将结果发送给AliceAlice用原始生成的私钥解密密文,得到对称的blowfishkeyAlice和Bob现在都知道对称的blowfishkey并且可以建立安全的通信channel现在,我查看了openssl/rsa.hrsa实现(因为我已经有openssl/blowfish.h的实践经验

iphone - 将 RSA 公钥发送到 iphone 并使用它来加密

我有一个TCP套接字服务器,我想在不使用SSL的情况下执行以下操作:在服务器上,制作RSAkey对(我知道如何使用openssl的加密库来完成此操作)在服务器上,将公钥发送给iphone,并保留私钥。在客户端(iphone)上,想要使用公钥加密消息,使用SecKeyEncrypt。在服务器上,解密消息。消息足够短,PKCS1填充结果适合128个字节。我不知道2~4怎么做。有人知道吗? 最佳答案 这应该可以满足您的要求-它使用服务器的公钥加密数据。它不受MITM攻击,除非攻击者拥有您的私钥及其密码的拷贝(但是,通过非SSL进行通信仍然

windows - EFS(加密文件系统): security concern: aren't password-related hashes stored on the hard drive

以下youtube视频很好地总结了EFS的工作原理。对于那些对我附上的此类窗口的内容摘要感兴趣的人它在下面。然而,这给我留下了一个关于安全的问题:当用户在Windows中登录时,可能会根据密码计算哈希值(或者从密码加上用户名和其他数据,例如作为盐)。当用户首次创建密码时,此类哈希必须存储在某处如果我没记错的话,在硬盘上。至少,旧的Unix系统曾经在这样的方式(用这样的方式存储在/etc/passwd中)。因此,当用户登录时,计算密码哈希值,并按顺序与存储在此类文件中的内容进行比较对用户进行身份验证。如果哈希值匹配,则用户已登录。到目前为止一切顺利。如果使用上述机制(在现代Windows

c++ - 如何使用特定于应用程序的 key 加密目录?

我正在开发一个C++应用程序,该应用程序通过大量类、数据库库等在单个目录中的许多文件中存储(并经常访问)其数据。我想开始使用key加密磁盘上的所有这些数据由应用程序管理。在Windows上,以编程方式为目录启用EFS将是完美的如果应用程序可以直接设置加密key,而不是使用基于登录用户密码的key。这似乎不可能。因为代码中有很多地方可以读取/写入文件,其中一些具有完全随机访问权限,所以在没有直接操作系统支持的情况下,导出类似于操作系统文件操作API的内容的库将是最简单的。Windows是最大的用户群,但在Mac和Linux上可用的东西将是一大优势。有什么建议吗?

c# - 如何以编程方式从 Windows 2003 服务器的无线网络设备检测密码类型和加密级别

现在我的团队正在使用windows应用程序c#进行网络项目。我不知道如何从windows2003服务器的无线网络设备以编程方式检测密码类型和加密级别。经过搜索,我得到了解决问题的WMI(WindowsManagementInstrumentation)。+请建议示例/引用以从windows2003服务器的无线网络设备中查找密码类型和加密级别 最佳答案 刚发现你的问题。您搜索的信息源自NDIS驱动程序。WMI只为您提供此类信息的一部分。每个NDIS驱动程序都支持一些标准请求,这些请求可以根据DeviceIoControl函数发送(参见

windows - x86 逆向挑战中的打包和加密部分,没有触发熵启发式

任务:我正在构建一组x86汇编逆向工程挑战,其中我已经完成了大约20个。它们只是为了娱乐/教育。当前的挑战是更高级的挑战之一,涉及一些技巧,使EP看起来像是在正常程序中,但实际上被打包在另一个PE部分中。基本流程如下:开始时就像一个普通的MSVC++应用程序。向一堆反调试器技巧中注入(inject)偷偷摸摸的调用。如果通过,内存中的DWORD值将设置为1。稍后在程序流程中,它会检查该值是否为1,如果有效,它会解密一个小的调用表。如果它失败了,它会让他们疯狂地追逐虚假的反调试技巧,最终只会崩溃。调用表指向解密实际程序代码段的真实解密例程。调用解密例程,它们使用基本的循环异或(C^k^n,

c - 如何为硬件版权保护加密狗编写一个简单的usb驱动程序?

我想创建一个USB驱动程序,以便我自己的C应用程序能够进入我的闪存驱动器并从导入的闪存驱动器中获取信息。操作系统:Windows我启动我的应用程序包含我的USB驱动程序并插入我的闪存,它在资源管理器中显示该驱动器已插入并且可以访问,当发生这种情况时,我的应用程序正在检查该文件data.txt如果该文件存在存在,程序运行下一个函数,如果没有程序,我的程序运行down/exit/! 最佳答案 如果您正在寻找可编程的USB加密狗,我建议您查看此SO线程:ProgrammableUSBdongles